1. Field of the Invention
The field of the invention relates to the field of data processing and in particular to detecting and responding to errors.
2. Description of the Prior Art
Typical digital systems need to provide the correct output all of the time, and as these systems involve data being sampled at periodic intervals, ample time must be allowed for all combinational logic such that data will be ready under the worst operating conditions, most critical paths and most variable silicon. In order to account for these worst cases large margins are introduced which during normal operation are not needed and are a waste of power and performance.
Another known way of addressing this problem is a razor-based system produced by ARM® Limited of Cambridge England. This is a system that is designed to operate at a point beyond this estimated absolute safe limit, the system having an error detection and recovery means to recover from cases where the signal does not reach the output in time. This system has a speculation region at the end of the clock cycle during which the output signal is measured to see if it is stable. Thus, provided any output signal attains its final value within this region, this will be detected, and if this final value is not the value at the end of the clock cycle, this can be determined and corrected for. As the system has this error detecting and correcting capability, the system does not need to put safety margins into the clock frequency and operational voltage. In effect it can tune its operational voltage and/or frequency to be in a range where errors are unlikely but may occur. However, in order to correct for detected errors, the system generally needs to perform some restoring function to restore the state to its correct value and to reissue the instruction that failed. This has overheads in area and timing.
It would be desirable to be able to provide a system with some error correcting capabilities to enable smaller margins to be used, without unduly increasing the complexity of the circuit.